package cn.yunhe.dao;

import cn.yunhe.entity.Product;
import cn.yunhe.entity.ShoppingCartItem;
import cn.yunhe.util.Paganation;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;
import java.util.Map;

public interface ProductDao {
    /**
     * 查看所有商品
     * @return
     */
    List<Product> getAllProduct(Paganation page);

    /**
     * 增加商品
     * @param product
     * @return
     */
    boolean addProduct(Product product);
    /**
     *获取某个商品的详细信息
     * @param productid
     * @return
     */
    Product getProduct(int productid);

    /**
     * 修改商品
     */
    boolean updateProduct(Product product);

    /**
     * 根据商品Id删除商品
     * @param productid
     * @return
     */
    boolean deleteProduct(int productid);

    /**
     * 获取所有商品的个数
     * @return
     */
    int getTotalRows();

    /**
     * 根据第三级分类 的id 分页查询商品
     * @param map
     * @return
     */
    List<Product> getAllProductsByGid(Map<String,Object> map);

    /**
     *
     * @param gtypeid
     * @return
     */
    int getTotalRowsById(int gtypeid);
    //批量修改商品数量
   boolean batchUpdateStoreNumber(Collection<ShoppingCartItem> sci);

}
